<?php
final class livreur
{
	private $id_livreur;
	private $nom;
	private $prenom;
	private $statut;
	private $disponible;
	private $adresse;
	private $tel;
	
	
	// creation d'objet
	function __construct($id_livreur="",$nom="",$prenom="",$statut="",$disponible="",$adresse="",$tel="") {
		global $bdd;
		if(!empty($nom)) 
		{
			$this->id_livreur 			=$id_livreur;
			$this->nom 					= $nom;
			$this->prenom				= $prenom;
			$this->statut				= $statut;
			$this->disponible			= $disponible;
			$this->adresse				= $adresse;
			$this->tel					= $tel;
		}
		elseif (!empty($id_livreur)) 
		{ 
			$query=" SELECT * FROM livreur WHERE id_livreur=".$id_livreur;
			$resultat = $bdd->query ($query);
			
			if (!$livreur = $resultat->fetchObject()) { return false; }
			$this->id_livreur 			=$livreur->id_livreur;
			$this->nom 					= $livreur->nom_livreur;
			$this->prenom				= $livreur->prenom_livreur;
			$this->statut				= $livreur->statut;
			$this->disponible				= $livreur->dispo;
			$this->adresse				= $livreur->adresse;
			$this->tel				= $livreur->tel;
		}
		
		else
		{
			$this->id_livreur 			="";
			$this->nom 					= $nom;
			$this->prenom				= $prenom;
			$this->statut				= $statut;
			$this->disponible			= $disponible;
			$this->adresse				= $adresse;
			$this->tel					= $tel;
		}
		
	
		return true;
	}
	
	function getNom()
	{
		return $this->nom;
	}
	function getPrenom()
	{
		return $this->prenom;
	}
	function getIdLivreur()
	{
		return $this->id_livreur;
	}
	function getStatut()
	{
		return $this->statut;
	}
	function getDisponible()
	{
		return $this->disponible;
	}
	function getAdresse()
	{
		return $this->adresse;
	}
	function getTel()
	{
		return $this->tel;
	}
	function liste_livreur($nom="",$disponible="")
	{
		global $bdd1;
		$livreurs=array();
		if (empty($nom)&&(empty($disponible)))
		{$query=" SELECT * FROM livreur " ;} 
		
		elseif (empty($nom)&&(!empty($disponible)))
		{$query=" SELECT * FROM livreur WHERE dispo='$disponible'";}
		
		elseif (!empty($nom)&&(empty($disponible)))		
		{$query=" SELECT * FROM livreur WHERE nom_livreur LIKE '%".$nom."%' ";}
		
		elseif (!empty($nom)&&(!empty($disponible)))		
		{$query=" SELECT * FROM livreur WHERE nom_livreur LIKE '%".$nom."%' AND dispo='$disponible'";}
		
		$resultat = $bdd1->query ($query);
		//$livreur = $resultat->fetchObject();
		//print_r($livreur);
		while($row = $resultat->fetchObject())
		{
			$livreur= new livreur();
			$livreur->id_livreur=$row->id_livreur;
			$livreur->nom=$row->nom_livreur;
			$livreur->prenom=$row->prenom_livreur;
			$livreur->statut= $row->statut;
			$livreur->disponible= $row->dispo;
			$livreur->tel= $row->tel;

			$livreurs[]=$livreur;
		}
		return $livreurs;
	}
	function get_last_position($id_livreur)
	{
		global $bdd1;
		
		$query="SELECT *  FROM gps WHERE id_livreur=".$id_livreur." AND date_position=(SELECT MAX( date_position ) FROM gps WHERE id_livreur =".$id_livreur." ) ";
		$resultat = $bdd1->query($query);
		return $resultat->fetchObject();
	}

	function edit_dispo_livreur($id_livreur,$dispo)
	{
		global $bdd1;
		$query="UPDATE livreur SET dispo='".$dispo."' WHERE id_livreur='".$id_livreur."'";
		$bdd1->exec($query);
		return true;
	}
	
	function delete_livreur($id_livreur)
	{
		global $bdd1;
		
		$query="DELETE FROM livreur WHERE id_livreur='".$id_livreur."'";
		$bdd1->exec($query);
		return true;
	}
	
	function ajouter_livreur($livreur)
	{
		global $bdd1;
		
		$query="INSERT INTO livreur SET ";
		$query .=(empty($livreur->nom))? "": 'nom_livreur="'.$livreur->nom.'" ';
		$query .=(empty($livreur->prenom))? "": ',prenom_livreur="'.$livreur->prenom.'" ';
		$query .=',statut="'.$livreur->statut.'" ';
		$query .=',dispo="'.$livreur->disponible.'" ';
		$query .=(empty($livreur->adresse))? "": ',adresse="'.$livreur->adresse.'" ';
		$query .=(empty($livreur->tel))? "": ',tel="'.$livreur->tel.'" ';
		//return $query;
		$bdd1->exec($query);
		return true;
	}
	
	function modifier_livreur($livreur)
	{
		global $bdd1;
		//return $livreur->nom;
		$query="UPDATE livreur SET ";
		$query .= 'nom_livreur="'.$livreur->nom.'" ';
		$query .= ',prenom_livreur="'.$livreur->prenom.'" ';
		$query .=',statut="'.$livreur->statut.'" ';
		$query .=',dispo="'.$livreur->disponible.'" ';
		$query .=',adresse="'.$livreur->adresse.'" ';
		$query .=',tel="'.$livreur->tel.'" ';
		$query .=' WHERE id_livreur="'.$livreur->id_livreur.'"';
		$bdd1->exec($query);
		return true;
	}
	function add_planing($planing)
	{
		global $bdd1;
		$query=" SELECT MAX(id_livreur) as last_id FROM livreur";
		$resultat = $bdd1->query ($query);
		$res=$resultat->fetchObject();
	//	return $res; 
		foreach($planing as $key=>$value)
		{
		 $query="INSERT INTO planing SET id_livreur=".$res->last_id.", semaine=".date('W').", jour=".$key.", deb=".$value['deb'].", fin=".$value['fin'];
		// return $query;
		 $bdd1->exec($query);
		// unset($query);
		}
	}
	
	function edit_planing($planing,$id_livreur)
	{
		global $bdd1;
			$query="DELETE FROM planing WHERE id_livreur=".$id_livreur." AND semaine=".date('W');
			$bdd1->exec($query);
			
		foreach($planing as $key=>$value)
		{
			 $query="INSERT INTO planing SET id_livreur=".$id_livreur.", semaine=".date('W').", jour=".$key.", deb=".$value['deb'].", fin=".$value['fin'];
			// return $query;
			 $bdd1->exec($query);
			// unset($query);
		}
	}
	function get_planing($id_livreur)
	{
		global $bdd;
		$query="SELECT * FROM planing WHERE id_livreur=".$id_livreur." AND semaine=".date('W');
		$resutat=$bdd->query($query);
		$planing=array();
		while($row = $resutat->fetchObject())
		{
			$planing[$row->jour]=array('deb'=>$row->deb,'fin'=>$row->fin);
		}
		return $planing;
	}

	
}
?>